package com.css.fxfzypg.modules.message.service.impl;

import com.css.fxfzypg.constants.FxfzConstants;
import com.css.fxfzypg.modules.message.repository.MessageRepository;
import com.css.fxfzypg.modules.message.repository.entity.MessageEntity;
import com.css.fxfzypg.modules.message.repository.entity.MessagePageList;
import com.css.fxfzypg.modules.message.service.MessageService;
import com.css.fxfzypg.util.PlatformDateUtils;
import com.css.fxfzypg.web.PlatformSessionContext;
import com.css.util.UuidUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.xml.crypto.Data;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


@Service
public class MessageServiceImpl implements MessageService {
    @Autowired
    MessageRepository messageRepository;


    @Override
    public boolean addMessage(MessageEntity messageEntity) {
        messageEntity.setMessageId(UuidUtil.getUuid());
        messageEntity.setMessageSystem(FxfzConstants.SYSTEM);
        messageEntity.setMessageStatus("0");
        messageEntity.setMessageCreateUser(PlatformSessionContext.getUserID());
        messageEntity.setMessageCreateTime(PlatformDateUtils.getCurrentDate());
        messageEntity.setDelFlag("0");
        return messageRepository.addMessage(messageEntity);
    }

    @Override
    public MessagePageList queryMessage(String keyWords,String userId, int currentPage, int pageSize) {
        return messageRepository.queryMessage(keyWords,userId,currentPage,pageSize);
    }

    @Override
    public MessageEntity getMessageById(String messageId) {
        return messageRepository.getMessageById(messageId);
    }

    @Override
    public boolean readMessage(String messageId) {
        MessageEntity messageEntity = messageRepository.getMessageById(messageId);
        return messageRepository.readMessage(messageEntity);
    }

    @Override
    public boolean clearMessage(String userId) {
        return messageRepository.clearMessage(userId);
    }

    @Override
    public boolean readMessageByModel(String messageModel) {
        return messageRepository.readMessageByModel(messageModel);
    }

    @Override
    public List<MessageEntity> getMessage(String userId) {
        return messageRepository.getMessage(userId);
    }
}
